package patient

//import (
//	"api-gateway/basic/config"
//	proto "api-gateway/basic/proto"
//	"context"
//	"github.com/gin-gonic/gin"
//	"net/http"
//	"strconv"
//	"time"
//)
//
//// GetDepartmentList 科室列表
//func GetDepartmentList(c *gin.Context) {
//	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
//	defer cancel()
//
//	// RPC调用获取科室列表
//	resp, err := config.PatientClient.GetDoctorsByDepartment(ctx, &proto.GetDoctorsByDepartmentRequest{})
//	if err != nil {
//		c.JSON(http.StatusOK, gin.H{"code": 500, "msg": "获取科室列表失败"})
//		return
//	}
//
//	// 转换响应数据
//	var departments []gin.H
//	for _, dept := range resp.Departments {
//		departments = append(departments, gin.H{
//			"id":   dept.DepartmentId,
//			"name": dept.Name,
//			"icon": dept.Icon,
//			"desc": dept.Description,
//		})
//	}
//
//	c.JSON(http.StatusOK, gin.H{
//		"code": 200,
//		"msg":  resp.Message,
//		"data": departments,
//	})
//}
//
//// GetDepartmentDetail 科室详情
//func GetDepartmentDetail(c *gin.Context) {
//	deptIDStr := c.Param("id")
//	deptID, err := strconv.ParseUint(deptIDStr, 10, 64)
//	if err != nil {
//		c.JSON(http.StatusOK, gin.H{"code": 400, "msg": "无效的科室ID"})
//		return
//	}
//
//	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
//	defer cancel()
//
//	// RPC调用获取科室详情
//	resp, err := config.PatientClient.GetDepartmentDetail(ctx, &proto.GetDepartmentDetailReq{
//		DepartmentId: int64(deptID),
//	})
//	if err != nil {
//		c.JSON(http.StatusOK, gin.H{"code": 500, "msg": "获取科室详情失败"})
//		return
//	}
//
//	c.JSON(http.StatusOK, gin.H{
//		"code": 200,
//		"msg":  resp.Message,
//		"data": gin.H{
//			"id":          resp.DepartmentId,
//			"name":        resp.Name,
//			"description": resp.Description,
//			"icon":        resp.Icon,
//			"location":    resp.Location,
//		},
//	})
//}
//
//// GetChildrenDepartments 二级科室列表
//func GetChildrenDepartments(c *gin.Context) {
//	parentIDStr := c.Query("parent_id")
//	parentID, err := strconv.ParseUint(parentIDStr, 10, 64)
//	if err != nil || parentID == 0 {
//		c.JSON(http.StatusOK, gin.H{"code": 400, "msg": "无效的父科室ID"})
//		return
//	}
//
//	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
//	defer cancel()
//
//	// RPC调用获取二级科室列表
//	resp, err := config.PatientClient.GetDoctorsByDepartment(ctx, &proto.GetDoctorsByDepartmentRequest{
//		Department: "",
//		Page:       0,
//		PageSize:   0,
//	})
//	if err != nil {
//		c.JSON(http.StatusOK, gin.H{"code": 500, "msg": "获取二级科室失败"})
//		return
//	}
//
//	// 转换响应数据
//	var children []gin.H
//	for _, child := range resp.ChildrenDepartments {
//		children = append(children, gin.H{
//			"id":   child.DepartmentId,
//			"name": child.Name,
//		})
//	}
//
//	c.JSON(http.StatusOK, gin.H{
//		"code": 200,
//		"msg":  resp.Message,
//		"data": children,
//	})
//}
